$(function () {
    //全局的checkbox选中和未选中的样式
    var $allCheckbox = $('input[type="checkbox"]'),     //全局的全部checkbox
        $wholeChexbox = $('.whole_check'),               //全选的checkbox
        $cartBox = $('.cartBox'),                       //每个商品格子
        $sonCheckBox = $('.son_check');                 //每个商品下的商品的checkbox
    //每个商品选择或者不选添加或者去除打勾的标记
    $allCheckbox.click(function () {
        if ($(this).is(':checked')) {
            $(this).next('label').addClass('mark');
        } else {
            $(this).next('label').removeClass('mark')
        }
    });

    //全选和全不选
    $wholeChexbox.click(function () {
        var $checkboxs = $cartBox.find('input[type="checkbox"]');
        if ($(this).is(':checked')) {
            $checkboxs.prop("checked", true);
            $checkboxs.next('label').addClass('mark');
        } else {
            $checkboxs.prop("checked", false);
            $checkboxs.next('label').removeClass('mark');
        }
        totalMoney();
    });

    //商品选择或者不选择的时候复选框的状态和总价数量的变化
    $sonCheckBox.each(function () {
        $(this).click(function () {
            if ($(this).is(':checked')) {
                //判断：所有单个商品是否勾选
                var len = $sonCheckBox.length;
                var num = 0;
                $sonCheckBox.each(function () {
                    if ($(this).is(':checked')) {
                        num++;
                    }
                });
                //如果所有商品都选上了，全选的复选框要勾上
                if (num == len) {
                    $wholeChexbox.prop("checked", true);
                    $wholeChexbox.next('label').addClass('mark');
                }
            } else {
                //单个商品取消勾选，全局全选取消勾选
                $wholeChexbox.prop("checked", false);
                $wholeChexbox.next('label').removeClass('mark');
            }
            totalMoney();
        })
    })

    //商品数量
    var $plus = $('.plus'),
        $reduce = $('.reduce'),
        $all_sum = $('.sum');
    $plus.click(function () {
        var $pid = $(this).prev().prev(),
            $inputVal = $(this).prev('input'),
            $count = parseInt($inputVal.val())+1,//数量增加
            $obj = $(this).parents('.amount_box').find('.reduce'),
            $priceTotalObj = $(this).parents('.order_lists').find('.sum_price'),
            $price = $(this).parents('.order_lists').find('.price').html(),  //单价
            $priceTotal = $count*parseInt($price.substring(1));
        $inputVal.val($count);
        $priceTotalObj.html('￥'+$priceTotal);
        if($inputVal.val()>1 && $obj.hasClass('reSty')){
            $obj.removeClass('reSty');
        }
        udpateCartNumber($pid.val(),$count)
    });

    $reduce.click(function () {
        var $pid = $(this).next(),
            $inputVal = $(this).next().next(),
            $count = parseInt($inputVal.val())-1,
            $priceTotalObj = $(this).parents('.order_lists').find('.sum_price'),
            $price = $(this).parents('.order_lists').find('.price').html(),  //单价
            $priceTotal = $count*parseInt($price.substring(1));
        if($inputVal.val()>1){
            $inputVal.val($count);
            $priceTotalObj.html('￥'+$priceTotal);
        }
        if($inputVal.val()==1 && !$(this).hasClass('reSty')){
            $(this).addClass('reSty');
        }
        udpateCartNumber($pid.val(),$count)
    });

    $all_sum.keyup(function () {
        var $pid = $(this).prev(),
            $count = 0,
            $priceTotalObj = $(this).parents('.order_lists').find('.sum_price'),
            $price = $(this).parents('.order_lists').find('.price').html(),  //单价
            $priceTotal = 0;
        //只有数字才可以
        $(this).val($(this).val().replace(/\D|^0/g,''));
        if($(this).val()==''){
            $(this).val('1');
        }
        $count = $(this).val();
        $priceTotal = $count*parseInt($price.substring(1));
        $(this).attr('value',$count);
        $priceTotalObj.html('￥'+$priceTotal);
        udpateCartNumber($pid.val(),$count)
    })


});
//总计
function totalMoney() {
    var sonCheckBox = $('.son_check');
    var total_money = 0;
    var total_count = 0;
    var calBtn = $('.calBtn a');
    sonCheckBox.each(function () {
        if ($(this).is(':checked')) {
            var goods = parseInt($(this).parents('.order_lists').find('.sum_price').html().substring(1));
            var num =  parseInt($(this).parents('.order_lists').find('.sum').val());
            total_money += goods;
            total_count += num;
        }
    });
    $('.total_text').html('￥'+total_money);
    $('.piece_num').html(total_count);

    // console.log(total_money,total_count);

    if(total_money!=0 && total_count!=0){
        if(!calBtn.hasClass('btn_sty')){
            calBtn.addClass('btn_sty');
        }
    }else{
        if(calBtn.hasClass('btn_sty')){
            calBtn.removeClass('btn_sty');
        }
    }
}

//刪除商品
function delProduct(own) {
    layer.confirm('确认要从购物车移除该商品吗？',{offset: '300px'},function(index){
        $.ajax({
            type: "post",
            url: "/cart/deleteCart",
            data: {
                cartId: own.id
            },
            success: function (data) {
                layer.msg(data.msg)
                if(data.code == 0){
                    return;
                }
                var $order_lists = $(own).parents('.order_lists');
                var $order_content = $order_lists.parents('.order_content');
                $order_lists.remove();
                $order_content.parents('.cartBox').remove();
                totalMoney();
            }
        });
    });
}
//修改购物车数量
function udpateCartNumber(cartId,buyerNumber) {
    if(buyerNumber <=0){
         return;
    }
    //修改显示的总价和总的数量
    totalMoney();
    //修改购物车数量
    $.ajax({
        type: "post",
        url: "/cart/udpateCartNumber",
        data: {
            cartId: cartId,
            buyerNumber:buyerNumber
        },
        success: function (data) {
        }
    });
}